<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>OpenIG: Core-OpenIG/Engine.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="openig_logo.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">OpenIG
   &#160;<span id="projectnumber">2.0.7</span>
   </div>
   <div id="projectbrief">cross-platform open-source OpenSceneGraph Image Generator</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_7670e38820582fbbb84e7b7dd2276667.html">Core-OpenIG</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">Engine.h</div>  </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">//#******************************************************************************</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">//#*</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">//#*      Copyright (C) 2015  Compro Computer Services</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">//#*      http://openig.compro.net</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">//#*</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">//#*      Source available at: https://github.com/CCSI-CSSI/MuseOpenIG</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">//#*</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">//#*      This software is released under the LGPL.</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">//#*</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">//#*   This software is free software; you can redistribute it and/or modify</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">//#*   it under the terms of the GNU Lesser General Public License as published</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">//#*   by the Free Software Foundation; either version 2.1 of the License, or</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">//#*   (at your option) any later version.</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">//#*</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">//#*   This software is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">//#*   but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">//#*   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">//#*   the GNU Lesser General Public License for more details.</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">//#*</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">//#*   You should have received a copy of the GNU Lesser General Public License</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">//#*   along with this library; if not, write to the Free Software</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">//#*   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">//#*</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment">//#*    Please direct any questions or comments to the OpenIG Forums</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment">//#*    Email address: openig@compro.net</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment">//#*</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment">//#*</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment">//#*    Please direct any questions or comments to the OpenIG Forums</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment">//#*    Email address: openig@compro.net</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment">//#*</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment">//#*</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">//#*****************************************************************************</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#ifndef OPENIG_H</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#define OPENIG_H</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#if defined(OPENIG_SDK)</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">    #include &lt;OpenIG-Engine/Export.h&gt;</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">    #include &lt;OpenIG-Engine/Keypad.h&gt;</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">    #include &lt;OpenIG-Base/ImageGenerator.h&gt;</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">    #include &lt;OpenIG-Base/Types.h&gt;</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">    #include &lt;OpenIG-PluginBase/PluginHost.h&gt;</span></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">    #include &lt;OpenIG-PluginBase/PluginContext.h&gt;</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">    #include &lt;Core-OpenIG/Export.h&gt;</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">    #include &lt;Core-OpenIG/Keypad.h&gt;</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">    #include &lt;Core-Base/ImageGenerator.h&gt;</span></div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">    #include &lt;Core-Base/Types.h&gt;</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">    #include &lt;Core-PluginBase/PluginHost.h&gt;</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="preprocessor">    #include &lt;Core-PluginBase/PluginContext.h&gt;</span></div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;<span class="preprocessor">#include &lt;OpenThreads/Mutex&gt;</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">#include &lt;OpenThreads/ScopedLock&gt;</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespace_open_i_g.html">OpenIG</a></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;{</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_engine.html">   68</a></span>&#160;<span class="keyword">class </span>OPENIG_EXPORT <a class="code" href="class_open_i_g_1_1_engine.html">Engine</a>:</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;        <span class="keyword">public</span> <a class="code" href="class_open_i_g_1_1_base_1_1_image_generator.html">OpenIG::Base::ImageGenerator</a>,</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;        <span class="keyword">public</span> <a class="code" href="class_open_i_g_1_1_plugin_base_1_1_plugin_host.html">OpenIG::PluginBase::PluginHost</a>,</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;        <span class="keyword">public</span> osg::Referenced</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;{</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;    <a class="code" href="class_open_i_g_1_1_engine.html">Engine</a>();</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    <span class="keyword">virtual</span> ~<a class="code" href="class_open_i_g_1_1_engine.html">Engine</a>();</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> loadScript(<span class="keyword">const</span> std::string&amp; fileName);</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    <span class="keyword">virtual</span> std::string version();</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;</div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_engine.html#a2b928d86e84e6ae7fd9b9f6170fd39d7">  113</a></span>&#160;    <span class="keyword">enum</span> <a class="code" href="class_open_i_g_1_1_engine.html#a2b928d86e84e6ae7fd9b9f6170fd39d7">SetupFlags</a></div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    {</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;        None            = 0x00,</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;        WithTerminal        = 0x01,</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;        WithSplashScreen    = 0x02,</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;        WithOnscreenHelp    = 0x04,</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;        WithScreenMessages  = 0x08,</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;        Standard                = WithTerminal | WithSplashScreen | WithOnscreenHelp | WithScreenMessages</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    };</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> setupInitFlags(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> mask);</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> init(osgViewer::CompositeViewer* viewer, <span class="keyword">const</span> std::string&amp; xmlFileName = <span class="stringliteral">&quot;openig.xml&quot;</span>, <span class="keyword">const</span> ViewIdentifiers&amp; ids = ViewIdentifiers());</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;</div><div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_engine.html#a788f5d7ce120c1e362d9cf4611f8a836">  160</a></span>&#160;    <span class="keyword">enum</span> <a class="code" href="class_open_i_g_1_1_engine.html#a788f5d7ce120c1e362d9cf4611f8a836">ViewType</a></div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;    {</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;        OTW             = 1,</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;        EO              = 2,</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;        IR              = 3</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    };</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> initView(osgViewer::View* view, ViewType options = OTW);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> setViewType(osgViewer::View* view, ViewType options);</div><div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> cleanup();</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> frame(<span class="keywordtype">bool</span> usePlugins = <span class="keyword">true</span>);</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> setReadNodeImplementationCallback(ReadNodeImplementationCallback* cb);</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;    <span class="keyword">virtual</span> ReadNodeImplementationCallback* getReadNodeImplementationCallback();</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> setReadFileCallback(osgDB::Registry::ReadFileCallback* cb);</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;    <span class="keyword">virtual</span> osgDB::Registry::ReadFileCallback* getReadFileCallback();</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> addEntity(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keyword">const</span> std::string&amp; fileName, <span class="keyword">const</span> osg::Matrixd&amp; mx, <span class="keyword">const</span> osgDB::Options* options = 0);</div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;</div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> addEntity(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keyword">const</span> osg::Node* node, <span class="keyword">const</span> osg::Matrixd&amp; mx, <span class="keyword">const</span> osgDB::Options* options = 0);</div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> removeEntity(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>);</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;</div><div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> updateEntity(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keyword">const</span> osg::Matrixd&amp; mx);</div><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;</div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> showEntity(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keywordtype">bool</span> show);</div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;</div><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> bindToEntity(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> toEntityId);</div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;</div><div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> unbindFromEntity(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>);</div><div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;</div><div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> bindEntityToCamera(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keyword">const</span> osg::Matrixd&amp; mx, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> cameraID = 0);</div><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;</div><div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> bindEntityToCameraUpdate(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keyword">const</span> osg::Matrixd&amp; mx);</div><div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;</div><div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> unbindEntityFromCamera(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>);</div><div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;</div><div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> reloadEntity(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keyword">const</span> std::string&amp; fileName, <span class="keyword">const</span> osgDB::Options* options = 0);</div><div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;</div><div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> setEntityName(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keyword">const</span> std::string&amp; name);</div><div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;</div><div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;    <span class="keyword">virtual</span> std::string getEntityName(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>);</div><div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;</div><div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> getEntityId(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> parentEntityId, <span class="keyword">const</span> std::string&amp; subEntityName);</div><div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;</div><div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> playAnimation(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> entityId, <span class="keyword">const</span> std::string&amp; animationName);</div><div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;</div><div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> playAnimation(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> entityId, <span class="keyword">const</span> OpenIG::Base::StringUtils::StringList&amp; animations);</div><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;</div><div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> playAnimation(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> entityId, <span class="keyword">const</span> std::string&amp; animationName, <a class="code" href="class_open_i_g_1_1_base_1_1_ref_animation_sequence_callbacks.html">OpenIG::Base::RefAnimationSequenceCallbacks</a>* cbs);</div><div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;</div><div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> stopAnimation(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> entityId, <span class="keyword">const</span> std::string&amp; animationName);</div><div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;</div><div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> stopAnimation(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> entityId, <span class="keyword">const</span> OpenIG::Base::StringUtils::StringList&amp; animations);</div><div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;</div><div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> resetAnimation(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> entityId, <span class="keyword">const</span> std::string&amp; animationName);</div><div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;</div><div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> resetAnimation(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> entityId, <span class="keyword">const</span> OpenIG::Base::StringUtils::StringList&amp; animations);</div><div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;</div><div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> changeAnimationStatus(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> entityId, AnimationStatus status, <span class="keyword">const</span> OpenIG::Base::StringUtils::StringList&amp; animations);</div><div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;</div><div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;    <span class="comment">// Effects</span></div><div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;<span class="comment"></span>    <span class="keyword">virtual</span> <span class="keywordtype">void</span> addEffect(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keyword">const</span> std::string&amp; name, <span class="keyword">const</span> osg::Matrixd&amp; mx, <span class="keyword">const</span> std::string&amp; attributes);</div><div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;</div><div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> removeEffect(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>);</div><div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;</div><div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> bindEffect(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> entityID, <span class="keyword">const</span> osg::Matrixd&amp; mx);</div><div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;</div><div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> unbindEffect(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>);</div><div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;</div><div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> updateEffect(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keyword">const</span> osg::Matrixd&amp; mx);</div><div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;</div><div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> setEffectImplementationCallback(<a class="code" href="class_open_i_g_1_1_base_1_1_generic_implementation_callback.html">OpenIG::Base::GenericImplementationCallback</a>* cb);</div><div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160;</div><div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;</div><div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> setCameraPosition(<span class="keyword">const</span> osg::Matrixd&amp; mx, <span class="keywordtype">bool</span> viewMatrix = <span class="keyword">false</span>, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> cameraID = 0);</div><div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160;</div><div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> bindCameraToEntity(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keyword">const</span> osg::Matrixd&amp; mx, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> cameraID = 0);</div><div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;</div><div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> bindCameraUpdate(<span class="keyword">const</span> osg::Matrixd&amp; mx, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> cameraID = 0);</div><div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;</div><div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> unbindCameraFromEntity(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> cameraID = 0);</div><div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;</div><div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> isCameraBoundToEntity(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> cameraID = 0);</div><div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;</div><div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> bindCameraSetFixedUp(<span class="keywordtype">bool</span> fixedUp, <span class="keywordtype">bool</span> freezeOrientation = <span class="keyword">false</span>, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> cameraID = 0);</div><div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;</div><div class="line"><a name="l00695"></a><span class="lineno">  695</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> setFog(<span class="keywordtype">double</span> visibility);</div><div class="line"><a name="l00696"></a><span class="lineno">  696</span>&#160;</div><div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> setDate(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> month,<span class="keywordtype">int</span> day, <span class="keywordtype">int</span> year);</div><div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;</div><div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> setTimeOfDay(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> hour, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> minutes);</div><div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160;</div><div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> setRain(<span class="keywordtype">double</span> factor);</div><div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;</div><div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> setSnow(<span class="keywordtype">double</span> factor);</div><div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;</div><div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> setWind(<span class="keywordtype">float</span> speed, <span class="keywordtype">float</span> direction = 0.f);</div><div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;</div><div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> addCloudLayer(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keywordtype">int</span> type, <span class="keywordtype">double</span> altitude, <span class="keywordtype">double</span> thickness=0, <span class="keywordtype">double</span> density=0.3, <span class="keywordtype">bool</span> enable=<span class="keyword">true</span>);</div><div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;</div><div class="line"><a name="l00791"></a><span class="lineno">  791</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> removeCloudLayer(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>);</div><div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;</div><div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> updateCloudLayer(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keywordtype">double</span> altitude, <span class="keywordtype">double</span> thickness, <span class="keywordtype">double</span> density);</div><div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;</div><div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> removeAllCloudlayers();</div><div class="line"><a name="l00818"></a><span class="lineno">  818</span>&#160;</div><div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> createCloudLayerFile(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keywordtype">int</span> type, <span class="keywordtype">double</span> altitude, <span class="keywordtype">double</span> thickness=0, <span class="keywordtype">double</span> density=0.3, <span class="keywordtype">bool</span> enable=<span class="keyword">true</span>, <span class="keyword">const</span> std::string&amp; filename=<span class="stringliteral">&quot;&quot;</span>);</div><div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160;</div><div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> enableCloudLayer(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keywordtype">bool</span> enableIn=<span class="keyword">true</span>);</div><div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;</div><div class="line"><a name="l00864"></a><span class="lineno">  864</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> removeCloudLayerFile(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>);</div><div class="line"><a name="l00865"></a><span class="lineno">  865</span>&#160;</div><div class="line"><a name="l00878"></a><span class="lineno">  878</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> loadCloudLayerFile(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keywordtype">int</span> type, <span class="keyword">const</span> std::string&amp; filename);</div><div class="line"><a name="l00879"></a><span class="lineno">  879</span>&#160;</div><div class="line"><a name="l00896"></a><span class="lineno">  896</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> addLight(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keyword">const</span> <a class="code" href="struct_open_i_g_1_1_base_1_1_light_attributes.html">OpenIG::Base::LightAttributes</a>&amp; lightAttributes, <span class="keyword">const</span> osg::Matrixd&amp; mx);</div><div class="line"><a name="l00897"></a><span class="lineno">  897</span>&#160;</div><div class="line"><a name="l00905"></a><span class="lineno">  905</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> removeLight(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>);</div><div class="line"><a name="l00906"></a><span class="lineno">  906</span>&#160;</div><div class="line"><a name="l00917"></a><span class="lineno">  917</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> updateLight(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keyword">const</span> osg::Matrixd&amp; mx);</div><div class="line"><a name="l00918"></a><span class="lineno">  918</span>&#160;</div><div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> setLightUserData(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>, osg::Referenced* data);</div><div class="line"><a name="l00928"></a><span class="lineno">  928</span>&#160;</div><div class="line"><a name="l00938"></a><span class="lineno">  938</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> bindLightToEntity(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> entityId);</div><div class="line"><a name="l00939"></a><span class="lineno">  939</span>&#160;</div><div class="line"><a name="l00948"></a><span class="lineno">  948</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> unbindLightFromEntity(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>);</div><div class="line"><a name="l00949"></a><span class="lineno">  949</span>&#160;</div><div class="line"><a name="l00961"></a><span class="lineno">  961</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> enableLight(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keywordtype">bool</span> enable, <span class="keywordtype">bool</span> hard = <span class="keyword">true</span>);</div><div class="line"><a name="l00962"></a><span class="lineno">  962</span>&#160;</div><div class="line"><a name="l00975"></a><span class="lineno">  975</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> bindLightToCamera(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keyword">const</span> osg::Matrixd&amp; offset = osg::Matrixd::identity());</div><div class="line"><a name="l00976"></a><span class="lineno">  976</span>&#160;</div><div class="line"><a name="l00984"></a><span class="lineno">  984</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> unbindLightFromcamera(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>);</div><div class="line"><a name="l00985"></a><span class="lineno">  985</span>&#160;</div><div class="line"><a name="l00995"></a><span class="lineno">  995</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> isLightEnabled(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>);</div><div class="line"><a name="l00996"></a><span class="lineno">  996</span>&#160;</div><div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160;    <span class="keyword">virtual</span> LightAttributesMap&amp; getLightAttributesMap();</div><div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160;</div><div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="struct_open_i_g_1_1_base_1_1_light_attributes.html">OpenIG::Base::LightAttributes</a> getLightAttributes(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>);</div><div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>&#160;</div><div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> updateLightAttributes(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <span class="keywordtype">id</span>, <span class="keyword">const</span> <a class="code" href="struct_open_i_g_1_1_base_1_1_light_attributes.html">OpenIG::Base::LightAttributes</a>&amp; attribs);</div><div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160;</div><div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> preRender();</div><div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160;</div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> postRender();</div><div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160;</div><div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160;    <span class="keywordtype">void</span> setUpdateViewerCameraManipulator(<span class="keywordtype">bool</span> update);</div><div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160;</div><div class="line"><a name="l01062"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_engine.html#ada627d64f318c9296a021083dcc68fce"> 1062</a></span>&#160;    <span class="keyword">typedef</span> osg::ref_ptr&lt;osg::MatrixTransform&gt;                   <a class="code" href="class_open_i_g_1_1_engine.html#ada627d64f318c9296a021083dcc68fce">LightEntity</a>;</div><div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160;    <span class="keyword">typedef</span> std::map&lt;unsigned int, LightEntity &gt;                 LightsMap;</div><div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160;    <span class="keyword">typedef</span> std::map&lt;unsigned int, LightEntity &gt;::iterator       LightsMapIterator;</div><div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160;    <span class="keyword">typedef</span> std::map&lt;unsigned int, LightEntity &gt;::const_iterator LightsMapConstIterator;</div><div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160;</div><div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="class_open_i_g_1_1_base_1_1_light_implementation_callback.html">OpenIG::Base::LightImplementationCallback</a>* getLightImplementationCallback();</div><div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160;</div><div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> setLightImplementationCallback( <a class="code" href="class_open_i_g_1_1_base_1_1_light_implementation_callback.html">OpenIG::Base::LightImplementationCallback</a>* cb);</div><div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160;</div><div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>&#160;    <span class="keyword">virtual</span> osgViewer::CompositeViewer* getViewer();</div><div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>&#160;</div><div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>&#160;    <span class="keyword">virtual</span> osg::Node*                  getScene();</div><div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>&#160;</div><div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>&#160;    <span class="keyword">virtual</span> EntityMap&amp;                  getEntityMap();</div><div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>&#160;</div><div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>&#160;    <span class="keyword">virtual</span> osg::LightSource*           getSunOrMoonLight();</div><div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160;</div><div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>&#160;    <span class="keyword">virtual</span> osg::Fog*                   getFog();</div><div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>&#160;</div><div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> turnOnCrashScreen(<span class="keyword">const</span> std::string&amp; crashtext);</div><div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>&#160;</div><div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> turnOffCrashScreen();</div><div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>&#160;</div><div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> turnOnScreenMessage(<span class="keyword">const</span> std::string&amp; text);</div><div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>&#160;</div><div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> turnOffScreenMessage();</div><div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>&#160;</div><div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>&#160;    <a class="code" href="class_open_i_g_1_1_plugin_base_1_1_plugin_context.html">OpenIG::PluginBase::PluginContext</a>&amp;        getPluginContext();</div><div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>&#160;</div><div class="line"><a name="l01190"></a><span class="lineno"> 1190</span>&#160;    LightsMap&amp;                          getLightsMap();</div><div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>&#160;</div><div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>&#160;    <span class="keyword">const</span> OpenIG::Base::StringUtils::StringList&amp; getFilesToBeCached() <span class="keyword">const</span>;</div><div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>&#160;</div><div class="line"><a name="l01208"></a><span class="lineno"> 1208</span>&#160;    <span class="keywordtype">void</span> addFilesToBeCached(<span class="keyword">const</span> OpenIG::Base::StringUtils::StringList&amp; files);</div><div class="line"><a name="l01209"></a><span class="lineno"> 1209</span>&#160;</div><div class="line"><a name="l01217"></a><span class="lineno"> 1217</span>&#160;    <span class="keywordtype">bool</span> isFileCached(<span class="keyword">const</span> std::string&amp; fileName);</div><div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>&#160;</div><div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> setIntersectionCallback(<a class="code" href="struct_open_i_g_1_1_base_1_1_image_generator_1_1_intersection_callback.html">IntersectionCallback</a>* cb);</div><div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>&#160;</div><div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> intersect(<span class="keyword">const</span> osg::Vec3d&amp; start, <span class="keyword">const</span> osg::Vec3d&amp; end, osg::Vec3d&amp; intersectionPoint, <span class="keywordtype">unsigned</span> mask);</div><div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>&#160;</div><div class="line"><a name="l01240"></a><span class="lineno"> 1240</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l01241"></a><span class="lineno"> 1241</span>&#160;</div><div class="line"><a name="l01243"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_engine.html#a3bc48ded13ec37e9d0b35a06451f1938"> 1243</a></span>&#160;    osg::ref_ptr&lt;ImageGenerator::IntersectionCallback&gt; <a class="code" href="class_open_i_g_1_1_engine.html#a3bc48ded13ec37e9d0b35a06451f1938">_intersectionCallback</a>;</div><div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>&#160;</div><div class="line"><a name="l01246"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_engine.html#a0f25e66528406772bb032caf4917c5f5"> 1246</a></span>&#160;    EntityMap                                       <a class="code" href="class_open_i_g_1_1_engine.html#a0f25e66528406772bb032caf4917c5f5">_entities</a>;</div><div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>&#160;</div><div class="line"><a name="l01249"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_engine.html#a55b4c2e02d18dfdcdc900306573e1c3e"> 1249</a></span>&#160;    osg::observer_ptr&lt;osgViewer::CompositeViewer&gt;        <a class="code" href="class_open_i_g_1_1_engine.html#a55b4c2e02d18dfdcdc900306573e1c3e">_viewer</a>;</div><div class="line"><a name="l01251"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_engine.html#a21c3196c87bface26ffeb2ba8ee7fab9"> 1251</a></span>&#160;    osg::ref_ptr&lt;osg::LightSource&gt;                  <a class="code" href="class_open_i_g_1_1_engine.html#a21c3196c87bface26ffeb2ba8ee7fab9">_sunOrMoonLight</a>;</div><div class="line"><a name="l01253"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_engine.html#ac4de50c937b7d8bc7b9153a4df8a5a58"> 1253</a></span>&#160;    osg::ref_ptr&lt;osg::Fog&gt;                          <a class="code" href="class_open_i_g_1_1_engine.html#ac4de50c937b7d8bc7b9153a4df8a5a58">_fog</a>;</div><div class="line"><a name="l01255"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_engine.html#a7a1fa8f161b3bab076bef565d021c3a9"> 1255</a></span>&#160;    osg::ref_ptr&lt;osg::Group&gt;                        <a class="code" href="class_open_i_g_1_1_engine.html#a7a1fa8f161b3bab076bef565d021c3a9">_scene</a>;</div><div class="line"><a name="l01257"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_engine.html#a8498c2cf9ea71fba41b2bcd3cc5df15a"> 1257</a></span>&#160;    osg::observer_ptr&lt;OpenIG::Base::LightImplementationCallback&gt;  <a class="code" href="class_open_i_g_1_1_engine.html#a8498c2cf9ea71fba41b2bcd3cc5df15a">_lightImplementationCallback</a>;</div><div class="line"><a name="l01260"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_engine.html#a48efa711f0ba03d0b96d049f4ddcc056"> 1260</a></span>&#160;    <a class="code" href="class_open_i_g_1_1_plugin_base_1_1_plugin_context.html">OpenIG::PluginBase::PluginContext</a>                     <a class="code" href="class_open_i_g_1_1_engine.html#a48efa711f0ba03d0b96d049f4ddcc056">_context</a>;</div><div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>&#160;</div><div class="line"><a name="l01263"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_engine.html#a9e0644fc6dffc8ef2a7d2110611d61d9"> 1263</a></span>&#160;    LightsMap                                       <a class="code" href="class_open_i_g_1_1_engine.html#a9e0644fc6dffc8ef2a7d2110611d61d9">_lights</a>;</div><div class="line"><a name="l01265"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_engine.html#a7e5a3fce5693ef46c36561086a65e90e"> 1265</a></span>&#160;    osg::ref_ptr&lt;osg::Group&gt;                        <a class="code" href="class_open_i_g_1_1_engine.html#a7e5a3fce5693ef46c36561086a65e90e">_lightsGroup</a>;</div><div class="line"><a name="l01267"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_engine.html#aadbcb313682a7f7f0066f5c04a51364b"> 1267</a></span>&#160;    osg::ref_ptr&lt;KeyPadEventHandler&gt;                <a class="code" href="class_open_i_g_1_1_engine.html#aadbcb313682a7f7f0066f5c04a51364b">_keypad</a>;</div><div class="line"><a name="l01269"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_engine.html#a61bf2edb2894324ab3a26ff5ca628bf2"> 1269</a></span>&#160;    osg::ref_ptr&lt;KeyPadCameraManipulator&gt;           <a class="code" href="class_open_i_g_1_1_engine.html#a61bf2edb2894324ab3a26ff5ca628bf2">_keypadCameraManipulator</a>;</div><div class="line"><a name="l01271"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_engine.html#a61d9858e768a88c533f3d634af4a2dd8"> 1271</a></span>&#160;    osg::ref_ptr&lt;osgGA::CameraManipulator&gt;          <a class="code" href="class_open_i_g_1_1_engine.html#a61d9858e768a88c533f3d634af4a2dd8">_viewerCameraManipulator</a>;</div><div class="line"><a name="l01273"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_engine.html#a04d689d9d6c717435c67596f98b1639b"> 1273</a></span>&#160;    <span class="keywordtype">bool</span>                                            <a class="code" href="class_open_i_g_1_1_engine.html#a04d689d9d6c717435c67596f98b1639b">_sceneCreatedByOpenIG</a>;</div><div class="line"><a name="l01276"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_engine.html#a94c5316fe67e0fcf48afad417aa88733"> 1276</a></span>&#160;    <span class="keywordtype">bool</span>                                            <a class="code" href="class_open_i_g_1_1_engine.html#a94c5316fe67e0fcf48afad417aa88733">_updateViewerCameraMainpulator</a>;</div><div class="line"><a name="l01278"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_engine.html#ae5904a561f53c90a5ade96b458fe420b"> 1278</a></span>&#160;    osg::ref_ptr&lt;osg::Camera&gt;                       <a class="code" href="class_open_i_g_1_1_engine.html#ae5904a561f53c90a5ade96b458fe420b">_splashCamera</a>;</div><div class="line"><a name="l01280"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_engine.html#a24d72a9cdc9f3c482008caba40deef87"> 1280</a></span>&#160;    <span class="keywordtype">bool</span>                                            <a class="code" href="class_open_i_g_1_1_engine.html#a24d72a9cdc9f3c482008caba40deef87">_splashOn</a>;</div><div class="line"><a name="l01282"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_engine.html#ade0b37051854ad9994cb744d11f097e3"> 1282</a></span>&#160;    osg::ref_ptr&lt;osg::Group&gt;                        <a class="code" href="class_open_i_g_1_1_engine.html#ade0b37051854ad9994cb744d11f097e3">_effectsRoot</a>;</div><div class="line"><a name="l01284"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_engine.html#a2d5a5dbb5599d144f8b9ec10823b7484"> 1284</a></span>&#160;    osg::ref_ptr&lt;OpenIG::Base::GenericImplementationCallback&gt;   <a class="code" href="class_open_i_g_1_1_engine.html#a2d5a5dbb5599d144f8b9ec10823b7484">_effectsImplementationCallback</a>;</div><div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>&#160;</div><div class="line"><a name="l01287"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_engine.html#ab257a14ce75bfe71ee407ebc63bca234"> 1287</a></span>&#160;    <span class="keyword">typedef</span> osg::ref_ptr&lt;osg::MatrixTransform&gt;          <a class="code" href="class_open_i_g_1_1_engine.html#ab257a14ce75bfe71ee407ebc63bca234">Effect</a>;</div><div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>&#160;    <span class="keyword">typedef</span> std::map&lt; unsigned int, Effect &gt;            EffectMap;</div><div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>&#160;    EffectMap                                           _effects;</div><div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>&#160;</div><div class="line"><a name="l01292"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_engine.html#a89db7665a825cb0190aefce1e94d6ff2"> 1292</a></span>&#160;    LightAttributesMap                              <a class="code" href="class_open_i_g_1_1_engine.html#a89db7665a825cb0190aefce1e94d6ff2">_lightAttributes</a>;</div><div class="line"><a name="l01293"></a><span class="lineno"> 1293</span>&#160;</div><div class="line"><a name="l01295"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_engine.html#a6e23bc30eac9974b04be02c477fb9c2f"> 1295</a></span>&#160;    osg::ref_ptr&lt;ReadNodeImplementationCallback&gt;    <a class="code" href="class_open_i_g_1_1_engine.html#a6e23bc30eac9974b04be02c477fb9c2f">_readFileCallback</a>;</div><div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>&#160;</div><div class="line"><a name="l01298"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_engine.html#af5d80c0442202f2893283981bfbaf580"> 1298</a></span>&#160;    <span class="keyword">typedef</span> std::map&lt; std::string, osg::ref_ptr&lt;osg::Node&gt; &gt;    <a class="code" href="class_open_i_g_1_1_engine.html#af5d80c0442202f2893283981bfbaf580">EntityCache</a>;</div><div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>&#160;    <a class="code" href="class_open_i_g_1_1_engine.html#af5d80c0442202f2893283981bfbaf580">EntityCache</a>                                                 _entityCache;</div><div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>&#160;</div><div class="line"><a name="l01302"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_engine.html#a0dabfe2fb8bd6cef86bfca016a90fb3c"> 1302</a></span>&#160;    OpenIG::Base::StringUtils::StringList                       <a class="code" href="class_open_i_g_1_1_engine.html#a0dabfe2fb8bd6cef86bfca016a90fb3c">_filesToBeCached</a>;</div><div class="line"><a name="l01303"></a><span class="lineno"> 1303</span>&#160;</div><div class="line"><a name="l01305"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_engine.html#a5f9d535f549ccfd36a0feaf6ad9e28b8"> 1305</a></span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>                                                <a class="code" href="class_open_i_g_1_1_engine.html#a5f9d535f549ccfd36a0feaf6ad9e28b8">_setupMask</a>;</div><div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>&#160;</div><div class="line"><a name="l01308"></a><span class="lineno"><a class="line" href="class_open_i_g_1_1_engine.html#a9a39fdaea581a291805f4fa5f4d76293"> 1308</a></span>&#160;    osg::ref_ptr&lt;osgDB::Registry::ReadFileCallback&gt;             <a class="code" href="class_open_i_g_1_1_engine.html#a9a39fdaea581a291805f4fa5f4d76293">_userReadFileCallback</a>;</div><div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>&#160;</div><div class="line"><a name="l01320"></a><span class="lineno"> 1320</span>&#160;    <span class="keywordtype">void</span> initViewer(osgViewer::CompositeViewer* viewer, <span class="keyword">const</span> <a class="code" href="class_open_i_g_1_1_base_1_1_image_generator.html#aade6995a60f67435d4f8207560408aee">ViewIdentifiers</a>&amp; ids = <a class="code" href="class_open_i_g_1_1_base_1_1_image_generator.html#aade6995a60f67435d4f8207560408aee">ViewIdentifiers</a>());</div><div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>&#160;</div><div class="line"><a name="l01328"></a><span class="lineno"> 1328</span>&#160;    <span class="keywordtype">void</span> initTerminal();</div><div class="line"><a name="l01329"></a><span class="lineno"> 1329</span>&#160;</div><div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>&#160;    <span class="keywordtype">void</span> initCommands();</div><div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>&#160;</div><div class="line"><a name="l01346"></a><span class="lineno"> 1346</span>&#160;    <span class="keywordtype">void</span> initPluginContext();</div><div class="line"><a name="l01347"></a><span class="lineno"> 1347</span>&#160;</div><div class="line"><a name="l01355"></a><span class="lineno"> 1355</span>&#160;    <span class="keywordtype">void</span> initScene();</div><div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>&#160;</div><div class="line"><a name="l01364"></a><span class="lineno"> 1364</span>&#160;    <span class="keywordtype">void</span> initOnScreenHelp();</div><div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>&#160;</div><div class="line"><a name="l01373"></a><span class="lineno"> 1373</span>&#160;    <span class="keywordtype">void</span> initSplashScreen();</div><div class="line"><a name="l01374"></a><span class="lineno"> 1374</span>&#160;</div><div class="line"><a name="l01381"></a><span class="lineno"> 1381</span>&#160;    <span class="keywordtype">void</span> initEffects();</div><div class="line"><a name="l01382"></a><span class="lineno"> 1382</span>&#160;</div><div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>&#160;    <span class="keywordtype">void</span> createSunMoonLight();</div><div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>&#160;</div><div class="line"><a name="l01397"></a><span class="lineno"> 1397</span>&#160;    <span class="keywordtype">void</span> initOnScreenMessages();</div><div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>&#160;};</div><div class="line"><a name="l01399"></a><span class="lineno"> 1399</span>&#160;</div><div class="line"><a name="l01400"></a><span class="lineno"> 1400</span>&#160;} <span class="comment">// namespace</span></div><div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>&#160;</div><div class="line"><a name="l01402"></a><span class="lineno"> 1402</span>&#160;<span class="preprocessor">#endif // OPENIG_H</span></div><div class="ttc" id="namespace_open_i_g_html"><div class="ttname"><a href="namespace_open_i_g.html">OpenIG</a></div><div class="ttdef"><b>Definition:</b> Animation.h:55</div></div>
<div class="ttc" id="class_open_i_g_1_1_engine_html_a24d72a9cdc9f3c482008caba40deef87"><div class="ttname"><a href="class_open_i_g_1_1_engine.html#a24d72a9cdc9f3c482008caba40deef87">OpenIG::Engine::_splashOn</a></div><div class="ttdeci">bool _splashOn</div><div class="ttdoc">Switch set to true when the splash screen is on. </div><div class="ttdef"><b>Definition:</b> Engine.h:1280</div></div>
<div class="ttc" id="class_open_i_g_1_1_engine_html_a48efa711f0ba03d0b96d049f4ddcc056"><div class="ttname"><a href="class_open_i_g_1_1_engine.html#a48efa711f0ba03d0b96d049f4ddcc056">OpenIG::Engine::_context</a></div><div class="ttdeci">OpenIG::PluginBase::PluginContext _context</div><div class="ttdoc">The OpenIG::PluginBase::PluginContext to pass Attributes, ex: OpenIG::Base::FogAttributes to plugins...</div><div class="ttdef"><b>Definition:</b> Engine.h:1260</div></div>
<div class="ttc" id="class_open_i_g_1_1_engine_html_a2d5a5dbb5599d144f8b9ec10823b7484"><div class="ttname"><a href="class_open_i_g_1_1_engine.html#a2d5a5dbb5599d144f8b9ec10823b7484">OpenIG::Engine::_effectsImplementationCallback</a></div><div class="ttdeci">osg::ref_ptr&lt; OpenIG::Base::GenericImplementationCallback &gt; _effectsImplementationCallback</div><div class="ttdoc">The effect implementation callback. </div><div class="ttdef"><b>Definition:</b> Engine.h:1284</div></div>
<div class="ttc" id="class_open_i_g_1_1_engine_html_a2b928d86e84e6ae7fd9b9f6170fd39d7"><div class="ttname"><a href="class_open_i_g_1_1_engine.html#a2b928d86e84e6ae7fd9b9f6170fd39d7">OpenIG::Engine::SetupFlags</a></div><div class="ttdeci">SetupFlags</div><div class="ttdoc">OpenIG specific flags for how to setup the Viewer. </div><div class="ttdef"><b>Definition:</b> Engine.h:113</div></div>
<div class="ttc" id="class_open_i_g_1_1_engine_html_ac4de50c937b7d8bc7b9153a4df8a5a58"><div class="ttname"><a href="class_open_i_g_1_1_engine.html#ac4de50c937b7d8bc7b9153a4df8a5a58">OpenIG::Engine::_fog</a></div><div class="ttdeci">osg::ref_ptr&lt; osg::Fog &gt; _fog</div><div class="ttdoc">Handle of Fog attribute. </div><div class="ttdef"><b>Definition:</b> Engine.h:1253</div></div>
<div class="ttc" id="class_open_i_g_1_1_engine_html_a9a39fdaea581a291805f4fa5f4d76293"><div class="ttname"><a href="class_open_i_g_1_1_engine.html#a9a39fdaea581a291805f4fa5f4d76293">OpenIG::Engine::_userReadFileCallback</a></div><div class="ttdeci">osg::ref_ptr&lt; osgDB::Registry::ReadFileCallback &gt; _userReadFileCallback</div><div class="ttdoc">user ReadFileCallback </div><div class="ttdef"><b>Definition:</b> Engine.h:1308</div></div>
<div class="ttc" id="class_open_i_g_1_1_engine_html_a21c3196c87bface26ffeb2ba8ee7fab9"><div class="ttname"><a href="class_open_i_g_1_1_engine.html#a21c3196c87bface26ffeb2ba8ee7fab9">OpenIG::Engine::_sunOrMoonLight</a></div><div class="ttdeci">osg::ref_ptr&lt; osg::LightSource &gt; _sunOrMoonLight</div><div class="ttdoc">Handle of the sun/moon light source with reserved ID of 0. </div><div class="ttdef"><b>Definition:</b> Engine.h:1251</div></div>
<div class="ttc" id="struct_open_i_g_1_1_base_1_1_image_generator_1_1_intersection_callback_html"><div class="ttname"><a href="struct_open_i_g_1_1_base_1_1_image_generator_1_1_intersection_callback.html">OpenIG::Base::ImageGenerator::IntersectionCallback</a></div><div class="ttdoc">Intersection callback. </div><div class="ttdef"><b>Definition:</b> ImageGenerator.h:1143</div></div>
<div class="ttc" id="class_open_i_g_1_1_engine_html_a3bc48ded13ec37e9d0b35a06451f1938"><div class="ttname"><a href="class_open_i_g_1_1_engine.html#a3bc48ded13ec37e9d0b35a06451f1938">OpenIG::Engine::_intersectionCallback</a></div><div class="ttdeci">osg::ref_ptr&lt; ImageGenerator::IntersectionCallback &gt; _intersectionCallback</div><div class="ttdoc">The intersection callback. </div><div class="ttdef"><b>Definition:</b> Engine.h:1243</div></div>
<div class="ttc" id="class_open_i_g_1_1_engine_html_a9e0644fc6dffc8ef2a7d2110611d61d9"><div class="ttname"><a href="class_open_i_g_1_1_engine.html#a9e0644fc6dffc8ef2a7d2110611d61d9">OpenIG::Engine::_lights</a></div><div class="ttdeci">LightsMap _lights</div><div class="ttdoc">ID based std::map of lights. See addLight. </div><div class="ttdef"><b>Definition:</b> Engine.h:1263</div></div>
<div class="ttc" id="class_open_i_g_1_1_plugin_base_1_1_plugin_host_html"><div class="ttname"><a href="class_open_i_g_1_1_plugin_base_1_1_plugin_host.html">OpenIG::PluginBase::PluginHost</a></div><div class="ttdoc">The PluginHost class. </div><div class="ttdef"><b>Definition:</b> PluginHost.h:61</div></div>
<div class="ttc" id="class_open_i_g_1_1_engine_html_a8498c2cf9ea71fba41b2bcd3cc5df15a"><div class="ttname"><a href="class_open_i_g_1_1_engine.html#a8498c2cf9ea71fba41b2bcd3cc5df15a">OpenIG::Engine::_lightImplementationCallback</a></div><div class="ttdeci">osg::observer_ptr&lt; OpenIG::Base::LightImplementationCallback &gt; _lightImplementationCallback</div><div class="ttdoc">Handle of the light implementation callback. See setLightImplementationCallback. </div><div class="ttdef"><b>Definition:</b> Engine.h:1257</div></div>
<div class="ttc" id="class_open_i_g_1_1_engine_html_a5f9d535f549ccfd36a0feaf6ad9e28b8"><div class="ttname"><a href="class_open_i_g_1_1_engine.html#a5f9d535f549ccfd36a0feaf6ad9e28b8">OpenIG::Engine::_setupMask</a></div><div class="ttdeci">unsigned int _setupMask</div><div class="ttdoc">setup mask </div><div class="ttdef"><b>Definition:</b> Engine.h:1305</div></div>
<div class="ttc" id="class_open_i_g_1_1_base_1_1_generic_implementation_callback_html"><div class="ttname"><a href="class_open_i_g_1_1_base_1_1_generic_implementation_callback.html">OpenIG::Base::GenericImplementationCallback</a></div><div class="ttdoc">This class is general purpose class for creating and managing custom implementation of entities...</div><div class="ttdef"><b>Definition:</b> Types.h:715</div></div>
<div class="ttc" id="class_open_i_g_1_1_engine_html_a788f5d7ce120c1e362d9cf4611f8a836"><div class="ttname"><a href="class_open_i_g_1_1_engine.html#a788f5d7ce120c1e362d9cf4611f8a836">OpenIG::Engine::ViewType</a></div><div class="ttdeci">ViewType</div><div class="ttdoc">Setup a View with OpenIG with rendering options. </div><div class="ttdef"><b>Definition:</b> Engine.h:160</div></div>
<div class="ttc" id="class_open_i_g_1_1_engine_html_ade0b37051854ad9994cb744d11f097e3"><div class="ttname"><a href="class_open_i_g_1_1_engine.html#ade0b37051854ad9994cb744d11f097e3">OpenIG::Engine::_effectsRoot</a></div><div class="ttdeci">osg::ref_ptr&lt; osg::Group &gt; _effectsRoot</div><div class="ttdoc">The root of the effects. </div><div class="ttdef"><b>Definition:</b> Engine.h:1282</div></div>
<div class="ttc" id="class_open_i_g_1_1_engine_html_a55b4c2e02d18dfdcdc900306573e1c3e"><div class="ttname"><a href="class_open_i_g_1_1_engine.html#a55b4c2e02d18dfdcdc900306573e1c3e">OpenIG::Engine::_viewer</a></div><div class="ttdeci">osg::observer_ptr&lt; osgViewer::CompositeViewer &gt; _viewer</div><div class="ttdoc">Handle of the viewer you have passed in init. </div><div class="ttdef"><b>Definition:</b> Engine.h:1249</div></div>
<div class="ttc" id="class_open_i_g_1_1_base_1_1_image_generator_html"><div class="ttname"><a href="class_open_i_g_1_1_base_1_1_image_generator.html">OpenIG::Base::ImageGenerator</a></div><div class="ttdoc">The Image Generator abstract interface. This is base class for openig::OpenIG. </div><div class="ttdef"><b>Definition:</b> ImageGenerator.h:74</div></div>
<div class="ttc" id="class_open_i_g_1_1_base_1_1_image_generator_html_aade6995a60f67435d4f8207560408aee"><div class="ttname"><a href="class_open_i_g_1_1_base_1_1_image_generator.html#aade6995a60f67435d4f8207560408aee">OpenIG::Base::ImageGenerator::ViewIdentifiers</a></div><div class="ttdeci">std::vector&lt; unsigned int &gt; ViewIdentifiers</div><div class="ttdoc">One might want to have the Image Generator only in some views, so this typedef holds the IDs of the v...</div><div class="ttdef"><b>Definition:</b> ImageGenerator.h:111</div></div>
<div class="ttc" id="class_open_i_g_1_1_engine_html_a61d9858e768a88c533f3d634af4a2dd8"><div class="ttname"><a href="class_open_i_g_1_1_engine.html#a61d9858e768a88c533f3d634af4a2dd8">OpenIG::Engine::_viewerCameraManipulator</a></div><div class="ttdeci">osg::ref_ptr&lt; osgGA::CameraManipulator &gt; _viewerCameraManipulator</div><div class="ttdoc">Handle of any CameraManipulator that was attached on the Viewer you provided in init. </div><div class="ttdef"><b>Definition:</b> Engine.h:1271</div></div>
<div class="ttc" id="class_open_i_g_1_1_engine_html_a6e23bc30eac9974b04be02c477fb9c2f"><div class="ttname"><a href="class_open_i_g_1_1_engine.html#a6e23bc30eac9974b04be02c477fb9c2f">OpenIG::Engine::_readFileCallback</a></div><div class="ttdeci">osg::ref_ptr&lt; ReadNodeImplementationCallback &gt; _readFileCallback</div><div class="ttdoc">The read file callback. </div><div class="ttdef"><b>Definition:</b> Engine.h:1295</div></div>
<div class="ttc" id="class_open_i_g_1_1_engine_html_af5d80c0442202f2893283981bfbaf580"><div class="ttname"><a href="class_open_i_g_1_1_engine.html#af5d80c0442202f2893283981bfbaf580">OpenIG::Engine::EntityCache</a></div><div class="ttdeci">std::map&lt; std::string, osg::ref_ptr&lt; osg::Node &gt; &gt; EntityCache</div><div class="ttdoc">The file cache map. </div><div class="ttdef"><b>Definition:</b> Engine.h:1298</div></div>
<div class="ttc" id="struct_open_i_g_1_1_base_1_1_light_attributes_html"><div class="ttname"><a href="struct_open_i_g_1_1_base_1_1_light_attributes.html">OpenIG::Base::LightAttributes</a></div><div class="ttdoc">The LightAttributes struct. </div><div class="ttdef"><b>Definition:</b> Types.h:586</div></div>
<div class="ttc" id="class_open_i_g_1_1_engine_html_aadbcb313682a7f7f0066f5c04a51364b"><div class="ttname"><a href="class_open_i_g_1_1_engine.html#aadbcb313682a7f7f0066f5c04a51364b">OpenIG::Engine::_keypad</a></div><div class="ttdeci">osg::ref_ptr&lt; KeyPadEventHandler &gt; _keypad</div><div class="ttdoc">Build-in Keypad Event Handler. See the onscreen help available on F7 for the keypad command...</div><div class="ttdef"><b>Definition:</b> Engine.h:1267</div></div>
<div class="ttc" id="class_open_i_g_1_1_engine_html_a0f25e66528406772bb032caf4917c5f5"><div class="ttname"><a href="class_open_i_g_1_1_engine.html#a0f25e66528406772bb032caf4917c5f5">OpenIG::Engine::_entities</a></div><div class="ttdeci">EntityMap _entities</div><div class="ttdoc">The current added in the scene Entity es, ID based std::map. </div><div class="ttdef"><b>Definition:</b> Engine.h:1246</div></div>
<div class="ttc" id="class_open_i_g_1_1_engine_html_ada627d64f318c9296a021083dcc68fce"><div class="ttname"><a href="class_open_i_g_1_1_engine.html#ada627d64f318c9296a021083dcc68fce">OpenIG::Engine::LightEntity</a></div><div class="ttdeci">osg::ref_ptr&lt; osg::MatrixTransform &gt; LightEntity</div><div class="ttdoc">Represntation of LightEntity. </div><div class="ttdef"><b>Definition:</b> Engine.h:1062</div></div>
<div class="ttc" id="class_open_i_g_1_1_plugin_base_1_1_plugin_context_html"><div class="ttname"><a href="class_open_i_g_1_1_plugin_base_1_1_plugin_context.html">OpenIG::PluginBase::PluginContext</a></div><div class="ttdoc">The PluginContext class. </div><div class="ttdef"><b>Definition:</b> PluginContext.h:59</div></div>
<div class="ttc" id="class_open_i_g_1_1_engine_html_a7e5a3fce5693ef46c36561086a65e90e"><div class="ttname"><a href="class_open_i_g_1_1_engine.html#a7e5a3fce5693ef46c36561086a65e90e">OpenIG::Engine::_lightsGroup</a></div><div class="ttdeci">osg::ref_ptr&lt; osg::Group &gt; _lightsGroup</div><div class="ttdoc">Root of the lights in the scene. This is passed in the OpenIG::Base::LightImplementationCallback. </div><div class="ttdef"><b>Definition:</b> Engine.h:1265</div></div>
<div class="ttc" id="class_open_i_g_1_1_base_1_1_light_implementation_callback_html"><div class="ttname"><a href="class_open_i_g_1_1_base_1_1_light_implementation_callback.html">OpenIG::Base::LightImplementationCallback</a></div><div class="ttdoc">The LightImplementationCallback class. </div><div class="ttdef"><b>Definition:</b> Types.h:731</div></div>
<div class="ttc" id="class_open_i_g_1_1_engine_html_a94c5316fe67e0fcf48afad417aa88733"><div class="ttname"><a href="class_open_i_g_1_1_engine.html#a94c5316fe67e0fcf48afad417aa88733">OpenIG::Engine::_updateViewerCameraMainpulator</a></div><div class="ttdeci">bool _updateViewerCameraMainpulator</div><div class="ttdoc">If true with setUpdateViewerCameraManipulator then the provided CameraManipulator is updated as well ...</div><div class="ttdef"><b>Definition:</b> Engine.h:1276</div></div>
<div class="ttc" id="class_open_i_g_1_1_engine_html"><div class="ttname"><a href="class_open_i_g_1_1_engine.html">OpenIG::Engine</a></div><div class="ttdoc">The OpenIG class. </div><div class="ttdef"><b>Definition:</b> Engine.h:68</div></div>
<div class="ttc" id="class_open_i_g_1_1_engine_html_ab257a14ce75bfe71ee407ebc63bca234"><div class="ttname"><a href="class_open_i_g_1_1_engine.html#ab257a14ce75bfe71ee407ebc63bca234">OpenIG::Engine::Effect</a></div><div class="ttdeci">osg::ref_ptr&lt; osg::MatrixTransform &gt; Effect</div><div class="ttdoc">Our Effect. </div><div class="ttdef"><b>Definition:</b> Engine.h:1287</div></div>
<div class="ttc" id="class_open_i_g_1_1_engine_html_a61bf2edb2894324ab3a26ff5ca628bf2"><div class="ttname"><a href="class_open_i_g_1_1_engine.html#a61bf2edb2894324ab3a26ff5ca628bf2">OpenIG::Engine::_keypadCameraManipulator</a></div><div class="ttdeci">osg::ref_ptr&lt; KeyPadCameraManipulator &gt; _keypadCameraManipulator</div><div class="ttdoc">Build-in Keypad Camera manipulator. See the onscreen help available on F7 for the keypad command...</div><div class="ttdef"><b>Definition:</b> Engine.h:1269</div></div>
<div class="ttc" id="class_open_i_g_1_1_engine_html_a04d689d9d6c717435c67596f98b1639b"><div class="ttname"><a href="class_open_i_g_1_1_engine.html#a04d689d9d6c717435c67596f98b1639b">OpenIG::Engine::_sceneCreatedByOpenIG</a></div><div class="ttdeci">bool _sceneCreatedByOpenIG</div><div class="ttdoc">Set to true if there was no scene created with your Viewer. </div><div class="ttdef"><b>Definition:</b> Engine.h:1273</div></div>
<div class="ttc" id="class_open_i_g_1_1_engine_html_a7a1fa8f161b3bab076bef565d021c3a9"><div class="ttname"><a href="class_open_i_g_1_1_engine.html#a7a1fa8f161b3bab076bef565d021c3a9">OpenIG::Engine::_scene</a></div><div class="ttdeci">osg::ref_ptr&lt; osg::Group &gt; _scene</div><div class="ttdoc">The managed scene, which is osgShadow::Shadowed scene. </div><div class="ttdef"><b>Definition:</b> Engine.h:1255</div></div>
<div class="ttc" id="class_open_i_g_1_1_engine_html_a0dabfe2fb8bd6cef86bfca016a90fb3c"><div class="ttname"><a href="class_open_i_g_1_1_engine.html#a0dabfe2fb8bd6cef86bfca016a90fb3c">OpenIG::Engine::_filesToBeCached</a></div><div class="ttdeci">OpenIG::Base::StringUtils::StringList _filesToBeCached</div><div class="ttdoc">The files to be cached. </div><div class="ttdef"><b>Definition:</b> Engine.h:1302</div></div>
<div class="ttc" id="class_open_i_g_1_1_engine_html_a89db7665a825cb0190aefce1e94d6ff2"><div class="ttname"><a href="class_open_i_g_1_1_engine.html#a89db7665a825cb0190aefce1e94d6ff2">OpenIG::Engine::_lightAttributes</a></div><div class="ttdeci">LightAttributesMap _lightAttributes</div><div class="ttdoc">The Light Attributes. </div><div class="ttdef"><b>Definition:</b> Engine.h:1292</div></div>
<div class="ttc" id="class_open_i_g_1_1_base_1_1_ref_animation_sequence_callbacks_html"><div class="ttname"><a href="class_open_i_g_1_1_base_1_1_ref_animation_sequence_callbacks.html">OpenIG::Base::RefAnimationSequenceCallbacks</a></div><div class="ttdef"><b>Definition:</b> Animation.h:89</div></div>
<div class="ttc" id="class_open_i_g_1_1_engine_html_ae5904a561f53c90a5ade96b458fe420b"><div class="ttname"><a href="class_open_i_g_1_1_engine.html#ae5904a561f53c90a5ade96b458fe420b">OpenIG::Engine::_splashCamera</a></div><div class="ttdeci">osg::ref_ptr&lt; osg::Camera &gt; _splashCamera</div><div class="ttdoc">Handle of the splash screen. </div><div class="ttdef"><b>Definition:</b> Engine.h:1278</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed May 16 2018 15:41:11 for OpenIG by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.14
</small></address>
</body>
</html>
